package client;

import java.rmi.Remote;
import java.rmi.RemoteException;
/**
 * Interface IClient 
 * @author Thibault MERLE & Moritz FISCHER
 */
public interface IClient extends Remote {
	 


	 // MessageFromTheServer
	 /**
	  * Function used by the server in order to notify the disconnection of a client.
	  * @param user
	  * @throws RemoteException
	  */
	 public void notifyLeave(String user) throws RemoteException;
	 
	 /**
	  * Function used by the server in order to notify the connection of a client.
	  * @param user
	  * @throws RemoteException
	  */
	 public void notifyEnter(String user) throws RemoteException;
	 
	 /**
	  * Function used by another client to send a message to the client that possesses this interface.
	  * @param sender
	  * @param msg
	  */
	 public void sendPrivateMessage(String sender, String msg) throws RemoteException;
}
